package com.inei.cie.caratula;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import com.inei.cie.R;
import com.inei.cie.capituloi.CapituloI_Activity;
import com.inei.cie.capituloi.CapituloI_Capitulos_Activity;
import com.inei.cie.capituloix.CapituloIX_Activity;
import com.inei.cie.dao.CaratulaDao;
import com.inei.cie.entidades.PCar;
import com.inei.cie.utilitarios.Variables;

public class Caratula_DEF_Activity extends Activity {

	public Variables var;
	public String id_local;
	public int Nro_Pred;
	public Bundle b;
	public CaratulaDao caratula;
	public PCar pcar;

	public TextView tvLocal;
	public LinearLayout llSeccionF;
	public TableRow trCF1;
	public TableLayout tlCaratula;

	public TextView tvCE1pregunta, tvCE2pregunta;
	public LinearLayout Preguntas, Respuestas, laCE1respuesta, laCE2respuesta;

	public EditText etCDADni, etCDANomyApe, etCDBDni, etCDBNomyApe, etCDCDni,
			etCDCNomyApe, etCDDDni, etCDDNomyApe, etCDEDni, etCDENomyApe,
			etCF1;

	public EditText etCE1, etCE2, etCE3, etCE4, etCE5, etCE6, etCE7;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.caratula_def);
		IniciarComponentes();
	}

	public void IniciarComponentes() {
		var = new Variables();
		caratula = new CaratulaDao(this);
		b = getIntent().getExtras();
		id_local = b.getString(var.ID_LOCAL);
		Nro_Pred = b.getInt(var.NRO_PRED);

		tvLocal = (TextView) findViewById(R.id.tvLocal);
		tvLocal.setText("Local Nro. " + id_local);

		llSeccionF = (LinearLayout) findViewById(R.id.llSeccionF);

		Preguntas = (LinearLayout) findViewById(R.id.Preguntas);
		Respuestas = (LinearLayout) findViewById(R.id.Respuestas);
		tvCE1pregunta = (TextView) findViewById(R.id.tvCE1pregunta);
		tvCE2pregunta = (TextView) findViewById(R.id.tvCE2pregunta);
		laCE1respuesta = (LinearLayout) findViewById(R.id.laCE1respuesta);
		laCE2respuesta = (LinearLayout) findViewById(R.id.laCE2respuesta);

		trCF1 = (TableRow) findViewById(R.id.trCF1);
		tlCaratula = (TableLayout) findViewById(R.id.tlCaratula);
		tlCaratula.removeView(llSeccionF);
		tlCaratula.removeView(trCF1);

		etCDADni = (EditText) findViewById(R.id.etCDADni);
		etCDADni.setNextFocusDownId(R.id.etCDANomyApe);

		etCDANomyApe = (EditText) findViewById(R.id.etCDANomyApe);
		etCDANomyApe.setNextFocusDownId(R.id.etCDBDni);

		etCDBDni = (EditText) findViewById(R.id.etCDBDni);
		etCDBDni.setNextFocusDownId(R.id.etCDBNomyApe);

		etCDBNomyApe = (EditText) findViewById(R.id.etCDBNomyApe);
		etCDBNomyApe.setNextFocusDownId(R.id.etCDCDni);

		etCDCDni = (EditText) findViewById(R.id.etCDCDni);
		etCDCDni.setNextFocusDownId(R.id.etCDCNomyApe);

		etCDCNomyApe = (EditText) findViewById(R.id.etCDCNomyApe);
		etCDCNomyApe.setNextFocusDownId(R.id.etCDDDni);

		etCDDDni = (EditText) findViewById(R.id.etCDDDni);
		etCDDDni.setNextFocusDownId(R.id.etCDDNomyApe);

		etCDDNomyApe = (EditText) findViewById(R.id.etCDDNomyApe);
		etCDDNomyApe.setNextFocusDownId(R.id.etCDEDni);

		etCDEDni = (EditText) findViewById(R.id.etCDEDni);
		etCDEDni.setNextFocusDownId(R.id.etCDENomyApe);

		etCDENomyApe = (EditText) findViewById(R.id.etCDENomyApe);
		etCDENomyApe.setNextFocusDownId(R.id.etCE1);

		etCE1 = (EditText) findViewById(R.id.etCE1);
		etCE1.setNextFocusDownId(R.id.etCE2);

		etCE2 = (EditText) findViewById(R.id.etCE2);
		etCE2.setNextFocusDownId(R.id.etCE3);

		etCE3 = (EditText) findViewById(R.id.etCE3);
		etCE3.setNextFocusDownId(R.id.etCE4);

		etCE4 = (EditText) findViewById(R.id.etCE4);
		etCE4.setNextFocusDownId(R.id.etCE5);

		etCE5 = (EditText) findViewById(R.id.etCE5);
		etCE5.setNextFocusDownId(R.id.etCE6);

		etCE6 = (EditText) findViewById(R.id.etCE6);
		etCE6.setNextFocusDownId(R.id.etCE7);

		etCE7 = (EditText) findViewById(R.id.etCE7);

		if (Nro_Pred != 1) {
			Preguntas.removeView(tvCE1pregunta);
			Preguntas.removeView(tvCE2pregunta);
			Respuestas.removeView(laCE1respuesta);
			Respuestas.removeView(laCE2respuesta);
			tlCaratula.addView(llSeccionF);
			tlCaratula.addView(trCF1);
			etCF1 = (EditText) findViewById(R.id.etCF1);
			etCF1.setText(Nro_Pred + "");
			etCF1.setEnabled(false);
		}
		CargarData();
	}

	public void CargarData() {
		pcar = caratula.ObtenerCaratula(id_local, Nro_Pred);
		if (pcar != null) {
			etCDADni.setText(pcar.getPC_D_EvT_dni());
			if (pcar.getPC_D_EvT_Nomb() != null) {
				etCDANomyApe.setText(pcar.getPC_D_EvT_Nomb().toUpperCase());
			}
			etCDBDni.setText(pcar.getPC_D_JBri_dni());
			if (pcar.getPC_D_JBri_Nomb() != null) {
				etCDBNomyApe.setText(pcar.getPC_D_JBri_Nomb().toUpperCase());
			}
			etCDCDni.setText(pcar.getPC_D_CProv_dni());
			if (pcar.getPC_D_CProv_Nomb() != null) {
				etCDCNomyApe.setText(pcar.getPC_D_CProv_Nomb().toUpperCase());
			}
			etCDDDni.setText(pcar.getPC_D_CDep_dni());
			if (pcar.getPC_D_CDep_Nomb() != null) {
				etCDDNomyApe.setText(pcar.getPC_D_CDep_Nomb().toUpperCase());
			}
			etCDEDni.setText(pcar.getPC_D_SupN_dni());
			if (pcar.getPC_D_SupN_Nomb() != null) {
				etCDENomyApe.setText(pcar.getPC_D_SupN_Nomb().toUpperCase());
			}

			etCE1.setText(caratula.totalPredios(id_local) + "");
			etCE2.setText(caratula.totalPrediosNoColindante(id_local) + "");
			etCE3.setText(caratula.totalEdificaciones(id_local, Nro_Pred) + "");
			etCE4.setText(caratula.totalPatios(id_local, Nro_Pred) + "");
			etCE5.setText(caratula.totalLosasDeportivas(id_local, Nro_Pred)
					+ "");
			etCE6.setText(caratula.totalCisternas(id_local, Nro_Pred) + "");
			etCE7.setText(caratula.totalMuros(id_local, Nro_Pred) + "");
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		getMenuInflater().inflate(R.menu.menu_caratula, menu);
		if (pcar.getPC_F_1() != 1) {
			menu.removeGroup(R.id.Cap);
		}
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		switch (item.getItemId()) {
		case R.id.mnSalir:
			AlertDialog.Builder dialogo1 = new AlertDialog.Builder(this);
			dialogo1.setTitle("Importante");
			dialogo1.setMessage("Deseas Salir?");
			dialogo1.setIcon(android.R.drawable.ic_dialog_alert);
			dialogo1.setCancelable(false);
			dialogo1.setPositiveButton("Si",
					new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialogo1, int id) {
							System.exit(0);
						}
					});

			dialogo1.setNegativeButton("No",
					new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialogo1, int id) {
							return;
						}
					});
			dialogo1.show();
			break;
		case R.id.mnGuardar:
			String d1 = etCDADni.getText().toString();
			String n1 = etCDANomyApe.getText().toString();
			String d2 = etCDBDni.getText().toString();
			String n2 = etCDBNomyApe.getText().toString();
			String d3 = etCDCDni.getText().toString();
			String n3 = etCDCNomyApe.getText().toString();
			String d4 = etCDDDni.getText().toString();
			String n4 = etCDDNomyApe.getText().toString();
			String d5 = etCDEDni.getText().toString();
			String n5 = etCDENomyApe.getText().toString();

			if (d1.trim().equals("")) {
				Toast.makeText(this,
						"Debe registrar el DNI del Evaluador T\u00e9cnico",
						Toast.LENGTH_SHORT).show();
				break;
			}
			if (d1.length() != 8) {
				Toast.makeText(
						this,
						"El DNI del Evaluador T\u00e9cnico debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (n1.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingregar los Nombres y Apellidos del Evaluador T\u00e9cnico",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d2.length() > 0 && d2.length() < 8) {
				Toast.makeText(this,
						"El DNI del Jefe de Brigada debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d2.length() == 8 && n2.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Jefe de Brigada",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d3.length() > 0 && d3.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Coordinador Provincial debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d3.length() == 8 && n3.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Coordinador Provincial",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d4.length() > 0 && d4.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Coordinador Departamental debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d4.length() == 8 && n4.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Coordinador Departamental",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d5.length() > 0 && d5.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Supervisor Nacional debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d5.length() == 8 && n5.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Supervisor Nacional",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}

			GuardarData();
			break;
		case R.id.mnSiguiente:
			String d1s = etCDADni.getText().toString();
			String n1s = etCDANomyApe.getText().toString();
			String d2s = etCDBDni.getText().toString();
			String n2s = etCDBNomyApe.getText().toString();
			String d3s = etCDCDni.getText().toString();
			String n3s = etCDCNomyApe.getText().toString();
			String d4s = etCDDDni.getText().toString();
			String n4s = etCDDNomyApe.getText().toString();
			String d5s = etCDEDni.getText().toString();
			String n5s = etCDENomyApe.getText().toString();

			if (d1s.trim().equals("")) {
				Toast.makeText(this,
						"Debe registrar el DNI del Evaluador T\u00e9cnico",
						Toast.LENGTH_SHORT).show();
				break;
			}
			if (d1s.length() != 8) {
				Toast.makeText(
						this,
						"El DNI del Evaluador T\u00e9cnico debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (n1s.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingregar los Nombres y Apellidos del Evaluador T\u00e9cnico",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d2s.length() > 0 && d2s.length() < 8) {
				Toast.makeText(this,
						"El DNI del Jefe de Brigada debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d2s.length() == 8 && n2s.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Jefe de Brigada",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d3s.length() > 0 && d3s.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Coordinador Provincial debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d3s.length() == 8 && n3s.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Coordinador Provincial",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d4s.length() > 0 && d4s.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Coordinador Departamental debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d4s.length() == 8 && n4s.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Coordinador Departamental",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d5s.length() > 0 && d5s.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Supervisor Nacional debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d5s.length() == 8 && n5s.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Supervisor Nacional",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}

			if (pcar.getPC_F_1() != 1) {
				GuardarData();
				Intent irCapitulos = new Intent(this,
						CapituloI_Capitulos_Activity.class);
				irCapitulos.putExtras(b);
				startActivity(irCapitulos);
				finish();
			} else {
				GuardarData();
				Intent irSiguiente = new Intent(this, CapituloI_Activity.class);
				irSiguiente.putExtras(b);
				startActivity(irSiguiente);
				finish();
			}
			break;
		case R.id.mnCapitulo1:
			String d1c = etCDADni.getText().toString();
			String n1c = etCDANomyApe.getText().toString();
			String d2c = etCDBDni.getText().toString();
			String n2c = etCDBNomyApe.getText().toString();
			String d3c = etCDCDni.getText().toString();
			String n3c = etCDCNomyApe.getText().toString();
			String d4c = etCDDDni.getText().toString();
			String n4c = etCDDNomyApe.getText().toString();
			String d5c = etCDEDni.getText().toString();
			String n5c = etCDENomyApe.getText().toString();

			if (d1c.trim().equals("")) {
				Toast.makeText(this,
						"Debe registrar el DNI del Evaluador T\u00e9cnico",
						Toast.LENGTH_SHORT).show();
				break;
			}
			if (d1c.length() != 8) {
				Toast.makeText(
						this,
						"El DNI del Evaluador T\u00e9cnico debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (n1c.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingregar los Nombres y Apellidos del Evaluador T\u00e9cnico",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d2c.length() > 0 && d2c.length() < 8) {
				Toast.makeText(this,
						"El DNI del Jefe de Brigada debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d2c.length() == 8 && n2c.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Jefe de Brigada",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d3c.length() > 0 && d3c.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Coordinador Provincial debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d3c.length() == 8 && n3c.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Coordinador Provincial",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d4c.length() > 0 && d4c.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Coordinador Departamental debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d4c.length() == 8 && n4c.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Coordinador Departamental",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}
			if (d5c.length() > 0 && d5c.length() < 8) {
				Toast.makeText(
						this,
						"El DNI del Supervisor Nacional debe tener 8 d\u00edgitos",
						Toast.LENGTH_SHORT).show();
				break;
			} else {
				if (d5c.length() == 8 && n5c.trim().length() == 0) {
					Toast.makeText(
							this,
							"Debe ingresar los Nombres y Apellidos del Supervisor Nacional",
							Toast.LENGTH_SHORT).show();
					break;
				}
			}

			GuardarData();
			Intent irCap1 = new Intent(this, CapituloI_Activity.class);
			irCap1.putExtras(b);
			startActivity(irCap1);
			finish();
			break;
		case R.id.mnFoto:
			Intent foto = new Intent(Caratula_DEF_Activity.this,
					CapituloIX_Activity.class);
			b.putBoolean("pregunta", true);
			foto.putExtras(b);
			startActivity(foto);
			break;
		default:
			break;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public void onBackPressed() {
		// TODO Auto-generated method stub
		super.onBackPressed();
		Intent anterior = new Intent(this, Caratula_C_Activity.class);
		anterior.putExtras(b);
		startActivity(anterior);
		finish();
	}

	public void GuardarData() {
		pcar.setPC_D_EvT_dni(etCDADni.getText().toString());
		pcar.setPC_D_EvT_Nomb(etCDANomyApe.getText().toString().toUpperCase());
		pcar.setPC_D_JBri_dni(etCDBDni.getText().toString());
		pcar.setPC_D_JBri_Nomb(etCDBNomyApe.getText().toString().toUpperCase());
		pcar.setPC_D_CProv_dni(etCDCDni.getText().toString());
		pcar.setPC_D_CProv_Nomb(etCDCNomyApe.getText().toString().toUpperCase());
		pcar.setPC_D_CDep_dni(etCDDDni.getText().toString());
		pcar.setPC_D_CDep_Nomb(etCDDNomyApe.getText().toString().toUpperCase());
		pcar.setPC_D_SupN_dni(etCDEDni.getText().toString());
		pcar.setPC_D_SupN_Nomb(etCDENomyApe.getText().toString().toUpperCase());
		if (Nro_Pred == 1) {
			pcar.setPC_E_1_TPred(etCE1.getText().toString().equals("") ? 0
					: Integer.parseInt(etCE1.getText().toString()));
			pcar.setPC_E_2_TPred_NoCol(etCE2.getText().toString().equals("") ? 0
					: Integer.parseInt(etCE2.getText().toString()));
		} else {
			pcar.setPC_E_1_TPred(0);
			pcar.setPC_E_2_TPred_NoCol(0);
		}
		pcar.setPC_E_3_TEdif(etCE3.getText().toString().equals("") ? 0
				: Integer.parseInt(etCE3.getText().toString()));
		pcar.setPC_E_4_TPat(etCE4.getText().toString().equals("") ? 0 : Integer
				.parseInt(etCE4.getText().toString()));
		pcar.setPC_E_5_TLosa(etCE5.getText().toString().equals("") ? 0
				: Integer.parseInt(etCE5.getText().toString()));
		pcar.setPC_E_6_TCist(etCE6.getText().toString().equals("") ? 0
				: Integer.parseInt(etCE6.getText().toString()));
		pcar.setPC_E_7_TMurCon(etCE7.getText().toString().equals("") ? 0
				: Integer.parseInt(etCE7.getText().toString()));
		pcar.setSwCompleto(1);
		caratula.GuardarCaratula(pcar);

		Toast.makeText(this, "Se guardo con \u00e9xito", Toast.LENGTH_SHORT)
				.show();
	}
}
